Media streaming is becoming an increasingly popular way of delivering television, movies and other media content to viewers. Media streams are typically point-to-point transmissions of digitized content that can be sent over the Internet or a similar network. Media streaming is often used to facilitate video on demand (VOD) services, remote storage digital video recorder (RSDVR) services, Internet Protocol television (IPTV) services, placeshifted media viewing and/or any number of other convenient services. Generally, the media stream is played back for the viewer in real time as the stream continues to be delivered to the player.
Often, media content is encoded into multiple sets of “streamlets” or other smaller segment files that can be individually requested and adaptively delivered to a particular client device. As changes in network bandwidth or other factors occur, the client device is able to react to the changes by requesting future segments that are encoded with different parameters (e.g., a higher or lower bit rate) for increased or decreased quality, as desired. Adaptive media streaming typically relies upon the media player client to control much of the streaming process. That is, the media player client, rather than the server, typically determines the next segment of the stream that will be requested and delivered to the player. Several examples of adaptive streaming systems, devices and techniques are described in US Patent Publication No. 2008/0195743, which is incorporated herein by reference as one example of an adaptive media streaming system.
One challenge that arises in video streaming is that that video content often consumes varying levels of bandwidth throughout the video presentation. A movie sequence showing an explosion, for example, can consume more bandwidth than a less dramatic scene encoded at the same bit rate, frame rate and resolution because the explosion is much less compressible. That is, the video imagery presents a greater dynamic range than imagery used in a more homogenous video scene. Even if two segments of video content are encoded at the same bit rate, frame rate and resolution, then, the sizes of the two segments can vary based upon the compressibility of the underlying video images being encoded. These variations can affect the quality of the viewer experience, particularly when a “low bandwidth” segment nevertheless contains a relatively large amount of data due to the un-compressibility of the underlying data.
It is therefore desirable to create systems, devices and methods that allow the client device to better control the adaptive streaming process. These and other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background section.